package com.tedu.api.thread;

/**
 * 匿名内部类：Thread创建模式、Runnable创建模式
 * JavaOOP---封装---内部类：成员内部类 方法内部类 匿名内部类 静态内部类
 *
 * 匿名内部类：针对接口以及抽象类创建
 *           【对象实例化[创建]一次对象】
 * 语法：对象 引用=new 对象(){匿名内部类}
 */
public class TR {
    public static void main(String[] args) {
        //1.使用匿名内部类：完成Thread类创建
        //Thread t1 = new Thread(){
        //匿名内部类--直接调用方法
        //public void run() {
        //for (int i=0;i<1000;i++){
        // System.out.println("一愣一愣的");
        // }
        //}
        // };
        //java 封装线程---Thread t1=new Thread(); t1.start();
        //     Thread----嵌入Runnable ->new Runnable();
        //Thread优点：使用方便，但是结构不适合线程创建
        Thread t1 = new Thread(() -> {
            for (int i = 0; i < 1000; i++) {
                System.out.println("一愣一愣");
            }
        });
        //2.启动 匿名内部类--完成线程创建
       /* t1.start();
        //---------------------------------------------
        //2.使用匿名内部类--完成Runnable接口写法
        Thread t2 = new Thread(new Runnable() {
            public void run() {

                for (int i = 0; i < 1000; i++) {
                    System.out.println("Runnable匿名内部类写法");
                }
            }

        });*/
        //使用Lambda表达式 Runnable真正线程操作类--功能run方法
        Runnable r=()->{for (int i=0;i<1000;i++){
            System.out.println("Runnable匿名内部类写法");
        }};
        Thread t2=new Thread(r);
        //3.启动线程
        t2.start();
    }
}